package schema

import (
	"jgt-wallet/src/util"
)

// LogManage 日志管理
type LogManage struct {
	ID       int64  `db:"id,primarykey,autoincrement" structs:"id" json:"id" bson:"_id"`           // 唯一标识(自增)
	RecordID string `db:"record_id,size:36" structs:"record_id" json:"record_id" bson:"record_id"` // 记录内码
	Type     string `db:"type,size:20" structs:"type" json:"type" bson:"type"`                     // 日志类型
	Level    string `db:"level,size:20" structs:"level" json:"level" bson:"level"`                 // 日志级别
	Message  string `db:"message,size:1024" structs:"message" json:"message" bson:"message"`       // 日志消息
	Data     string `db:"data,size:1024" structs:"data" json:"data" bson:"data"`                   // 日志数据
	Creator  string `db:"creator,size:36" structs:"creator" json:"creator" bson:"creator"`         // 操作人
	Created  int64  `db:"created" structs:"created" json:"created" bson:"created"`                 // 操作时间
}

func (a *LogManage) String() string {
	return util.JSONMarshalToString(a)
}

// Validate 参数验证
func (a *LogManage) Validate() error {

	return nil
}

// LogManageQueryParam 日志管理查询参数
type LogManageQueryParam struct {
	Type    string // 日志类型
	Level   string // 日志级别
	Message string // 日志消息
}

// LogManageQueryResult 日志管理查询结果
type LogManageQueryResult struct {
	RecordID string `db:"record_id,size:36" structs:"record_id" json:"record_id" bson:"record_id"` // 记录内码
	Type     string `db:"type,size:20" structs:"type" json:"type" bson:"type"`                     // 日志类型
	Level    string `db:"level,size:20" structs:"level" json:"level" bson:"level"`                 // 日志级别
	Message  string `db:"message,size:1024" structs:"message" json:"message" bson:"message"`       // 日志消息
	Data     string `db:"data,size:1024" structs:"data" json:"data" bson:"data"`                   // 日志数据
	Creator  string `db:"creator,size:36" structs:"creator" json:"creator" bson:"creator"`         // 操作人
	Created  int64  `db:"created" structs:"created" json:"created" bson:"created"`                 // 操作时间
}
